package hui.com.dao;

import hui.com.model.entity.PermsEntity;
import hui.com.model.entity.RoleEntity;
import hui.com.model.req.role.RequestNOTINRolePerms;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface RoleDao {

    /**
     * 获取所有角色
     * 模糊搜索
     */
    List<RoleEntity>getRoleList(@Param("role") RoleEntity role);

    /**
     * 给角色赋予权限
     */
    Boolean addRolePerms(@Param("roleID")Integer roleID,@Param("permsIDArray")Integer[] permsIDArray);

    /**
     * 删除角色的权限
     */
    Boolean deleteRolePerms(@Param("roleID")Integer roleID,@Param("permsID")Integer permsID);

    /**
     * 角色未拥有的权限
     */
    List<PermsEntity> getNOTINRolePerms(@Param("role") RequestNOTINRolePerms role);


    /**
     * 获取拥有该角色的用户
     */
    Integer[] getRoleUser(@Param("RoleID") Integer RoleID);
}
